home *** CD-ROM | disk | FTP | other *** search
/ Clickx 47 / Clickx 47.iso / assets / software / Miro_Installer.exe / xulrunner / chrome / toolkit.jar / content / mozapps / extensions / about.js next >
Encoding:
JavaScript  |  2005-11-06  |  3.7 KB  |  99 lines

  1. //@line 37 "/c/mozilla/toolkit/mozapps/extensions/content/about.js"
  2.  
  3. function EM_NS(aProperty)
  4. {
  5.   return "http://www.mozilla.org/2004/em-rdf#" + aProperty;
  6. }
  7.  
  8. var gExtensionID = "";
  9. var gExtensionDB = null;
  10.  
  11. function init()
  12. {
  13.   gExtensionID = window.arguments[0];
  14.   gExtensionDB = window.arguments[1];
  15.  
  16.   var extensionsStrings = document.getElementById("extensionsStrings");
  17.   
  18.   var rdfs = Components.classes["@mozilla.org/rdf/rdf-service;1"]
  19.                        .getService(Components.interfaces.nsIRDFService);
  20.  
  21.   var extension = rdfs.GetResource(gExtensionID);                       
  22.                 
  23.   // Name       
  24.   var nameArc = rdfs.GetResource(EM_NS("name"));
  25.   var name = gExtensionDB.GetTarget(extension, nameArc, true);
  26.   name = name.QueryInterface(Components.interfaces.nsIRDFLiteral).Value;
  27.   // Version
  28.   var versionArc = rdfs.GetResource(EM_NS("version"));
  29.   var version = gExtensionDB.GetTarget(extension, versionArc, true);
  30.   version = version.QueryInterface(Components.interfaces.nsIRDFLiteral).Value;
  31.   // Description
  32.   var descriptionArc = rdfs.GetResource(EM_NS("description"));
  33.   var description = gExtensionDB.GetTarget(extension, descriptionArc, true);
  34.   if (description)
  35.     description = description.QueryInterface(Components.interfaces.nsIRDFLiteral).Value;
  36.   // Home Page URL
  37.   var homepageArc = rdfs.GetResource(EM_NS("homepageURL"));
  38.   var homepage = gExtensionDB.GetTarget(extension, homepageArc, true);
  39.   if (homepage) {
  40.     homepage = homepage.QueryInterface(Components.interfaces.nsIRDFLiteral).Value;
  41.     // only allow http(s) homepages
  42.     var scheme = "";
  43.     var uri = null;
  44.     try {
  45.       uri = makeURI(homepage);
  46.       scheme = uri.scheme;
  47.     } catch (ex) {}
  48.     if (uri && (scheme == "http" || scheme == "https"))
  49.       homepage = uri.spec;
  50.     else
  51.       homepage = null;
  52.   }
  53.     
  54.   // Creator
  55.   var creatorArc = rdfs.GetResource(EM_NS("creator"));
  56.   var creator = gExtensionDB.GetTarget(extension, creatorArc, true);
  57.   if (creator)
  58.     creator = creator.QueryInterface(Components.interfaces.nsIRDFLiteral).Value;
  59.   
  60.   document.title = extensionsStrings.getFormattedString("aboutWindowTitle", [name]);
  61.   var extensionName = document.getElementById("extensionName");
  62.   extensionName.setAttribute("value", name);
  63.   var extensionVersion = document.getElementById("extensionVersion");
  64.   extensionVersion.setAttribute("value", extensionsStrings.getFormattedString("aboutWindowVersionString", [version]));
  65.   
  66.   var extensionDescription = document.getElementById("extensionDescription");
  67.   extensionDescription.appendChild(document.createTextNode(description));
  68.   
  69.   var extensionCreator = document.getElementById("extensionCreator");
  70.   extensionCreator.setAttribute("value", creator);
  71.   
  72.   var extensionHomepage = document.getElementById("extensionHomepage");
  73.   if (homepage) {
  74.     extensionHomepage.setAttribute("href", homepage);
  75.     extensionHomepage.setAttribute("tooltiptext", homepage);
  76.   }
  77.   else
  78.     extensionHomepage.hidden = true;
  79.     
  80.   var contributorsBox = document.getElementById("contributorsBox");
  81.   var contributorsArc = rdfs.GetResource(EM_NS("contributor"));
  82.   var contributors = gExtensionDB.GetTargets(extension, contributorsArc, true);
  83.   var count = 0;
  84.   while (contributors.hasMoreElements()) {
  85.     var contributor = contributors.getNext().QueryInterface(Components.interfaces.nsIRDFLiteral).Value;
  86.     var label = document.createElement("label");
  87.     label.setAttribute("value", contributor);
  88.     label.setAttribute("class", "contributor");
  89.     contributorsBox.appendChild(label);
  90.     ++count;
  91.   }
  92.   if (count == 0)
  93.     document.getElementById("extensionContributors").hidden = true;
  94.     
  95.   var acceptButton = document.documentElement.getButton("accept");
  96.   acceptButton.label = extensionsStrings.getString("aboutWindowCloseButton");
  97. }
  98.  
  99.